package com.google.zxing.common.reedsolomon; class ReedSolomonDecoder { void a() { int a;
a=0;// .class public final Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;
a=0;// .super Ljava/lang/Object;
a=0;// 
a=0;// 
a=0;// # instance fields
a=0;// .field private final field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method public constructor <init>(Lcom/google/zxing/common/reedsolomon/GF256;)V
a=0;//     .locals 0
a=0;// 
a=0;//     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
a=0;// 
a=0;//     #p0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;);
a=0;//     iput-object p1, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method private findErrorLocations(Lcom/google/zxing/common/reedsolomon/GF256Poly;)[I
a=0;//     .locals 5
a=0;// 
a=0;//     const/4 v3, 0x0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     const/4 v2, 0x1
a=0;// 
a=0;//     #v2=(One);
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     if-ne v4, v2, :cond_0
a=0;// 
a=0;//     new-array v0, v2, [I
a=0;// 
a=0;//     #v0=(Reference,[I);
a=0;//     invoke-virtual {p1, v2}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getCoefficient(I)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     aput v1, v0, v3
a=0;// 
a=0;//     :goto_0
a=0;//     #v1=(Conflicted);v2=(Integer);v3=(PosShort);
a=0;//     return-object v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Uninit);v1=(Uninit);v2=(One);v3=(Null);
a=0;//     new-array v1, v4, [I
a=0;// 
a=0;//     #v1=(Reference,[I);
a=0;//     move v0, v3
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);v2=(Integer);v3=(Integer);
a=0;//     const/16 v3, 0x100
a=0;// 
a=0;//     #v3=(PosShort);
a=0;//     if-ge v2, v3, :cond_2
a=0;// 
a=0;//     if-ge v0, v4, :cond_2
a=0;// 
a=0;//     invoke-virtual {p1, v2}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->evaluateAt(I)I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     if-nez v3, :cond_1
a=0;// 
a=0;//     iget-object v3, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v3=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v3, v2}, Lcom/google/zxing/common/reedsolomon/GF256;->inverse(I)I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     aput v3, v1, v0
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     :cond_1
a=0;//     add-int/lit8 v2, v2, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_2
a=0;//     #v3=(PosShort);
a=0;//     if-eq v0, v4, :cond_3
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     const-string v1, "Error locator degree does not match number of roots"
a=0;// 
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Integer);
a=0;//     move-object v0, v1
a=0;// 
a=0;//     #v0=(Reference,[I);
a=0;//     goto :goto_0
a=0;// .end method
a=0;// 
a=0;// .method private findErrorMagnitudes(Lcom/google/zxing/common/reedsolomon/GF256Poly;[IZ)[I
a=0;//     .locals 11
a=0;// 
a=0;//     const/4 v3, 0x1
a=0;// 
a=0;//     #v3=(One);
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     #v2=(Null);
a=0;//     array-length v5, p2
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     new-array v6, v5, [I
a=0;// 
a=0;//     #v6=(Reference,[I);
a=0;//     move v4, v2
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Conflicted);v1=(Conflicted);v4=(Integer);v7=(Conflicted);v8=(Conflicted);v9=(Conflicted);v10=(Conflicted);
a=0;//     if-ge v4, v5, :cond_3
a=0;// 
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     aget v1, p2, v4
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     invoke-virtual {v0, v1}, Lcom/google/zxing/common/reedsolomon/GF256;->inverse(I)I
a=0;// 
a=0;//     move-result v7
a=0;// 
a=0;//     #v7=(Integer);
a=0;//     move v1, v2
a=0;// 
a=0;//     #v1=(Null);
a=0;//     move v0, v3
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     if-ge v1, v5, :cond_1
a=0;// 
a=0;//     if-eq v4, v1, :cond_0
a=0;// 
a=0;//     iget-object v8, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v8=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     iget-object v9, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v9=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     aget v10, p2, v1
a=0;// 
a=0;//     #v10=(Integer);
a=0;//     invoke-virtual {v9, v10, v7}, Lcom/google/zxing/common/reedsolomon/GF256;->multiply(II)I
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     #v9=(Integer);
a=0;//     invoke-static {v3, v9}, Lcom/google/zxing/common/reedsolomon/GF256;->addOrSubtract(II)I
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     invoke-virtual {v8, v0, v9}, Lcom/google/zxing/common/reedsolomon/GF256;->multiply(II)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v8=(Conflicted);v9=(Conflicted);v10=(Conflicted);
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_1
a=0;//     iget-object v1, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {p1, v7}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->evaluateAt(I)I
a=0;// 
a=0;//     move-result v8
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     iget-object v9, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v9=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v9, v0}, Lcom/google/zxing/common/reedsolomon/GF256;->inverse(I)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     invoke-virtual {v1, v8, v0}, Lcom/google/zxing/common/reedsolomon/GF256;->multiply(II)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     aput v0, v6, v4
a=0;// 
a=0;//     if-eqz p3, :cond_2
a=0;// 
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     aget v1, v6, v4
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     invoke-virtual {v0, v1, v7}, Lcom/google/zxing/common/reedsolomon/GF256;->multiply(II)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     aput v0, v6, v4
a=0;// 
a=0;//     :cond_2
a=0;//     #v1=(Conflicted);
a=0;//     add-int/lit8 v0, v4, 0x1
a=0;// 
a=0;//     move v4, v0
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Conflicted);v7=(Conflicted);v8=(Conflicted);v9=(Conflicted);
a=0;//     return-object v6
a=0;// .end method
a=0;// 
a=0;// .method private runEuclideanAlgorithm(Lcom/google/zxing/common/reedsolomon/GF256Poly;Lcom/google/zxing/common/reedsolomon/GF256Poly;I)[Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;//     .locals 12
a=0;// 
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     invoke-virtual {p2}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     if-ge v0, v1, :cond_4
a=0;// 
a=0;//     :goto_0
a=0;//     #v10=(Conflicted);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/reedsolomon/GF256;->getOne()Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v3
a=0;// 
a=0;//     #v3=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/reedsolomon/GF256;->getZero()Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/reedsolomon/GF256;->getZero()Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/reedsolomon/GF256;->getOne()Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     move-object v4, p1
a=0;// 
a=0;//     :goto_1
a=0;//     #v4=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);v5=(Conflicted);v6=(Conflicted);v7=(Conflicted);v8=(Conflicted);v9=(Conflicted);v11=(Conflicted);
a=0;//     invoke-virtual {v4}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v5
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     div-int/lit8 v6, p3, 0x2
a=0;// 
a=0;//     #v6=(Integer);
a=0;//     if-lt v5, v6, :cond_2
a=0;// 
a=0;//     invoke-virtual {v4}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->isZero()Z
a=0;// 
a=0;//     move-result v5
a=0;// 
a=0;//     #v5=(Boolean);
a=0;//     if-eqz v5, :cond_0
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     const-string v1, "r_{i-1} was zero"
a=0;// 
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     iget-object v5, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v5=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v5}, Lcom/google/zxing/common/reedsolomon/GF256;->getZero()Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v5
a=0;// 
a=0;//     invoke-virtual {v4}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v6
a=0;// 
a=0;//     invoke-virtual {v4, v6}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getCoefficient(I)I
a=0;// 
a=0;//     move-result v6
a=0;// 
a=0;//     iget-object v7, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v7=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v7, v6}, Lcom/google/zxing/common/reedsolomon/GF256;->inverse(I)I
a=0;// 
a=0;//     move-result v6
a=0;// 
a=0;//     move-object p1, p2
a=0;// 
a=0;//     :goto_2
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v7
a=0;// 
a=0;//     #v7=(Integer);
a=0;//     invoke-virtual {v4}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v8
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     if-lt v7, v8, :cond_1
a=0;// 
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->isZero()Z
a=0;// 
a=0;//     move-result v7
a=0;// 
a=0;//     #v7=(Boolean);
a=0;//     if-nez v7, :cond_1
a=0;// 
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v7
a=0;// 
a=0;//     #v7=(Integer);
a=0;//     invoke-virtual {v4}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v8
a=0;// 
a=0;//     sub-int/2addr v7, v8
a=0;// 
a=0;//     iget-object v8, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v8=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getDegree()I
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     #v9=(Integer);
a=0;//     invoke-virtual {p1, v9}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getCoefficient(I)I
a=0;// 
a=0;//     move-result v9
a=0;// 
a=0;//     invoke-virtual {v8, v9, v6}, Lcom/google/zxing/common/reedsolomon/GF256;->multiply(II)I
a=0;// 
a=0;//     move-result v8
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     iget-object v9, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v9=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v9, v7, v8}, Lcom/google/zxing/common/reedsolomon/GF256;->buildMonomial(II)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v9
a=0;// 
a=0;//     invoke-virtual {v5, v9}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->addOrSubtract(Lcom/google/zxing/common/reedsolomon/GF256Poly;)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v5
a=0;// 
a=0;//     invoke-virtual {v4, v7, v8}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->multiplyByMonomial(II)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v7
a=0;// 
a=0;//     #v7=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     invoke-virtual {p1, v7}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->addOrSubtract(Lcom/google/zxing/common/reedsolomon/GF256Poly;)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object p1
a=0;// 
a=0;//     goto :goto_2
a=0;// 
a=0;//     :cond_1
a=0;//     #v7=(Integer);v9=(Conflicted);
a=0;//     invoke-virtual {v5, v2}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->multiply(Lcom/google/zxing/common/reedsolomon/GF256Poly;)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v6
a=0;// 
a=0;//     #v6=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     invoke-virtual {v6, v3}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->addOrSubtract(Lcom/google/zxing/common/reedsolomon/GF256Poly;)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v3
a=0;// 
a=0;//     invoke-virtual {v5, v0}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->multiply(Lcom/google/zxing/common/reedsolomon/GF256Poly;)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v5
a=0;// 
a=0;//     invoke-virtual {v5, v1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->addOrSubtract(Lcom/google/zxing/common/reedsolomon/GF256Poly;)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     move-object p2, v4
a=0;// 
a=0;//     move-object v4, p1
a=0;// 
a=0;//     move-object v10, v3
a=0;// 
a=0;//     #v10=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     move-object v3, v2
a=0;// 
a=0;//     move-object v2, v10
a=0;// 
a=0;//     move-object v11, v1
a=0;// 
a=0;//     #v11=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     move-object v1, v0
a=0;// 
a=0;//     move-object v0, v11
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_2
a=0;//     #v5=(Integer);v6=(Integer);v7=(Conflicted);v8=(Conflicted);v10=(Conflicted);v11=(Conflicted);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     invoke-virtual {v0, v1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->getCoefficient(I)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     if-nez v1, :cond_3
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     const-string v1, "sigmaTilde(0) was zero"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_3
a=0;//     #v1=(Integer);
a=0;//     iget-object v2, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     invoke-virtual {v2, v1}, Lcom/google/zxing/common/reedsolomon/GF256;->inverse(I)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     invoke-virtual {v0, v1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->multiply(I)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     invoke-virtual {v4, v1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->multiply(I)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     const/4 v2, 0x2
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     new-array v2, v2, [Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     #v2=(Reference,[Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     const/4 v3, 0x0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     aput-object v0, v2, v3
a=0;// 
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     #v0=(One);
a=0;//     aput-object v1, v2, v0
a=0;// 
a=0;//     return-object v2
a=0;// 
a=0;//     :cond_4
a=0;//     #v0=(Integer);v1=(Integer);v2=(Uninit);v3=(Uninit);v4=(Uninit);v5=(Uninit);v6=(Uninit);v7=(Uninit);v8=(Uninit);v9=(Uninit);v10=(Uninit);v11=(Uninit);
a=0;//     move-object v10, p2
a=0;// 
a=0;//     #v10=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     move-object p2, p1
a=0;// 
a=0;//     move-object p1, v10
a=0;// 
a=0;//     goto/16 :goto_0
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public final decode([II)V
a=0;//     .locals 9
a=0;// 
a=0;//     const/4 v4, 0x1
a=0;// 
a=0;//     #v4=(One);
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     #v2=(Null);
a=0;//     new-instance v5, Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     #v5=(UninitRef,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-direct {v5, v0, p1}, Lcom/google/zxing/common/reedsolomon/GF256Poly;-><init>(Lcom/google/zxing/common/reedsolomon/GF256;[I)V
a=0;// 
a=0;//     #v5=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     new-array v6, p2, [I
a=0;// 
a=0;//     #v6=(Reference,[I);
a=0;//     iget-object v0, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     sget-object v1, Lcom/google/zxing/common/reedsolomon/GF256;->DATA_MATRIX_FIELD:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v7
a=0;// 
a=0;//     #v7=(Boolean);
a=0;//     move v1, v2
a=0;// 
a=0;//     #v1=(Null);
a=0;//     move v3, v4
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Conflicted);v1=(Integer);v3=(Boolean);v8=(Conflicted);
a=0;//     if-ge v1, p2, :cond_1
a=0;// 
a=0;//     iget-object v8, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v8=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     if-eqz v7, :cond_0
a=0;// 
a=0;//     add-int/lit8 v0, v1, 0x1
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);
a=0;//     invoke-virtual {v8, v0}, Lcom/google/zxing/common/reedsolomon/GF256;->exp(I)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     invoke-virtual {v5, v0}, Lcom/google/zxing/common/reedsolomon/GF256Poly;->evaluateAt(I)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     array-length v8, v6
a=0;// 
a=0;//     #v8=(Integer);
a=0;//     add-int/lit8 v8, v8, -0x1
a=0;// 
a=0;//     sub-int/2addr v8, v1
a=0;// 
a=0;//     aput v0, v6, v8
a=0;// 
a=0;//     if-eqz v0, :cond_5
a=0;// 
a=0;//     move v0, v2
a=0;// 
a=0;//     :goto_2
a=0;//     #v0=(Boolean);
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     move v3, v0
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Conflicted);v8=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     move v0, v1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(Conflicted);v8=(Conflicted);
a=0;//     if-eqz v3, :cond_3
a=0;// 
a=0;//     :cond_2
a=0;//     #v1=(Conflicted);v2=(Integer);v3=(Integer);v4=(Integer);v5=(Conflicted);
a=0;//     return-void
a=0;// 
a=0;//     :cond_3
a=0;//     #v1=(Integer);v2=(Null);v3=(Boolean);v4=(One);v5=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     new-instance v0, Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v1, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-direct {v0, v1, v6}, Lcom/google/zxing/common/reedsolomon/GF256Poly;-><init>(Lcom/google/zxing/common/reedsolomon/GF256;[I)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);
a=0;//     iget-object v1, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     invoke-virtual {v1, p2, v4}, Lcom/google/zxing/common/reedsolomon/GF256;->buildMonomial(II)Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {p0, v1, v0, p2}, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->runEuclideanAlgorithm(Lcom/google/zxing/common/reedsolomon/GF256Poly;Lcom/google/zxing/common/reedsolomon/GF256Poly;I)[Lcom/google/zxing/common/reedsolomon/GF256Poly;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     aget-object v1, v0, v2
a=0;// 
a=0;//     #v1=(Null);
a=0;//     aget-object v0, v0, v4
a=0;// 
a=0;//     #v0=(Null);
a=0;//     invoke-direct {p0, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->findErrorLocations(Lcom/google/zxing/common/reedsolomon/GF256Poly;)[I
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,[I);
a=0;//     invoke-direct {p0, v0, v1, v7}, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->findErrorMagnitudes(Lcom/google/zxing/common/reedsolomon/GF256Poly;[IZ)[I
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     :goto_3
a=0;//     #v0=(Reference,[I);v2=(Integer);v3=(Integer);v4=(Integer);v5=(Conflicted);
a=0;//     array-length v3, v1
a=0;// 
a=0;//     if-ge v2, v3, :cond_2
a=0;// 
a=0;//     array-length v3, p1
a=0;// 
a=0;//     add-int/lit8 v3, v3, -0x1
a=0;// 
a=0;//     iget-object v4, p0, Lcom/google/zxing/common/reedsolomon/ReedSolomonDecoder;->field:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v4=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     aget v5, v1, v2
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     invoke-virtual {v4, v5}, Lcom/google/zxing/common/reedsolomon/GF256;->log(I)I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     sub-int/2addr v3, v4
a=0;// 
a=0;//     if-gez v3, :cond_4
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     const-string v1, "Bad error location"
a=0;// 
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_4
a=0;//     aget v4, p1, v3
a=0;// 
a=0;//     aget v5, v0, v2
a=0;// 
a=0;//     invoke-static {v4, v5}, Lcom/google/zxing/common/reedsolomon/GF256;->addOrSubtract(II)I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     aput v4, p1, v3
a=0;// 
a=0;//     add-int/lit8 v2, v2, 0x1
a=0;// 
a=0;//     goto :goto_3
a=0;// 
a=0;//     :cond_5
a=0;//     #v0=(Integer);v1=(Integer);v2=(Null);v3=(Boolean);v4=(One);v5=(Reference,Lcom/google/zxing/common/reedsolomon/GF256Poly;);v8=(Integer);
a=0;//     move v0, v3
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     goto :goto_2
a=0;// .end method
}}
